#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import os
import time
'''
本程序应用于ubuntu20.04系统下的ros安装，安装版本为noetic
也适用与ubuntu mate 20.04系统，其余不适用
安装时直接拖入终端在前面加上python即可
'''
if __name__ == '__main__':
    #安装ros-noetic脚本
    # 设置ros下载源
    #官网源
    #os.system('sudo sh -c ' + 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list')
    #清华源
    #os.system("sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'")
    #中科大源
    #os.system('sudo sh -c' +'. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list')
    while True:
        try:
            #清华源
            os.system('sudo sh -c'+ '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list')
           
            break
        except:
            pass
    while True:
        try:
            #设置密匙
            os.system("sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654")
            break
        except:
            try:
                os.system( "sudo apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654")
                break
            except:
                pass

    #开始安装
    while True:
        try:
            #更新索引
            os.system('sudo apt update')
            break
        except:
            pass


    #设置ros环境
    while True:
        if os.system('bash /opt/ros/noetic/setup.bash') == 0 :
            break
        else:
            #安装桌面完整版
            os.system('sudo apt install ros-noetic-desktop-full -y')
            

    #验证ros安装
    time.sleep(5)
    print('安装完毕，验证程序安装')
    os.system('roscore')

